package com.ebo.httpcall4j.core.model;

import com.ebo.httpcall4j.core.model.enums.ContentType;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * http调用日志
 */
@Data
public class HttpCallLog {

    /**
     * 主键ID
     */
    private Long id;
    /**
     * 调用方IP
     */
    private String ip;

    /**
     * 请求URL
     */
    private String url;
    /**
     * 请求方法
     */
    private String method;
    /**
     * 请求内容类型
     */
    private ContentType contentType;
    /**
     * 请求头
     */
    private String headers;
    /**
     * 请求体
     */
    private String body;
    /**
     * 响应状态码
     */
    private Integer responseStatusCode;
    /**
     * 响应体
     */
    private String responseBody;
    /**
     * 调用状态 (SUCCESS, FAILED)
     */
    private String status;
    /**
     * 业务系统名称
     */
    private String systemName;
    /**
     * 调用的功能名称
     */
    private String functionName;
    /**
     * RequestProcessor的Bean名称
     */
    private String processorName;
    /**
     * 重试的原始日志ID
     */
    private Long rerunOfLogId;

    /**
     * 扩展字段
     */
    private String extensions;
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

}